To be or NOT to be

2015-01-19

Teknologier som vilar på kryptografiska metoder sågas ofta och återkommande jäms med fotknölarna. Inte sällan för att det uppdagas en teknisk sårbarhet vilket leder till att bägaren rinner över. Jag vill påstå att det i nästan alla förekommande fall inte är tekniken i sig som är sårbar, utan den breda oförmågan att hantera nyckelmaterial. Över tid har certifikatbaserade teknologier kämpat i motvind, nu seglar DNSSEC upp som en kandidat att ställas vid skampålen.

Låt oss stanna vid DNSSEC för en stund. Är DNSSEC onödigt som flera förståsigpåare hävdar? Dubbelriktad TLS (MTLS) nämns som argument för att visa att DNSSEC inte tillför något mervärde. Kanske sant, men med vetskapen att vi under åren haft en massa komprometterade PKI-er och inte minst att vi ytterst sällan kör MTLS så återstår det faktum att DNSSEC avsevärt försvårar för den illvillige som vill förvanska DNS-svar. Kombinationen MTLS och DNSSEC är givetvis önskedrömmen.

Ett viktigt spörsmål är vem som kontrollerar nycklarna i en DNSSEC-baserad infrastruktur. Är det måhända en distribuerad nyckelinfrastruktur, likt en PKI, men med den stora skillnaden att vi utgår från en rigoröst kontrollerad toppdomän? I Sverige är det definitivt så, mycket tack varje Stiftelsen för Internetinfrastrukturs (.SE) gedigna arbete på området. Stiftelseformen ger också en rad andra fördelar för att motverka t.ex. statlig påverkan. Detta sagt ur perspektivet att det finns alltför många toppdomäner som hanteras utifrån helt andra ideal och det går inte att bortse från det faktum att den som kontrollerar toppdomänen enkelt kan bryta DNSSEC-kedjan. Detta måste vägas in vid valet av toppdomän.

DNSSEC ger en möjlighet att på ett eget ansvar bygga tillit till en domän och krokas den in under en toppdomän som minst motsvarar uppställda krav så finns det en tillitskedja som gör att en innovation som DANE förverkligas. Vi behöver denna typ av innovation för att kombinera tillitskedjor för att försvåra för den illvillige, men samtidigt förenkla för den som har att hantera nyckelmaterial. Ännu en önskedröm kanske någon tänker?

Det är inte bara valet av toppdomän som är viktigt, det finns en rad tjänster inom området som till en början ser lockande ut. Tyvärr är många förenade med så bristande kvalitéer att de goda intentionerna med DNSSEC helt går förlorad. Det enda syftet med flera tjänster är att tända en grön prick på kartan över organisationer som implementerat DNSSEC. Tekniskt korrekt alltså, men i övrigt väldigt mycket att önska i termer av tillit. Enligt mitt tycke hör den typen av tjänster inte hemma i en seriös diskussion. Vem är egentligen betjänt av ett spel för galleriet när det verkliga syftet är att bygga upp ett långsiktigt förtroende?

DNSSEC är också beskyllt att använda för svag kryptografi. Här är det på sin plats att poängtera att valet av kryptografi åvilar på den som implementerar DNSSEC. DNSSEC är tämligen öppen för förslag på algoritmer. Att det sedan finns de som väljer att använda RSA med 1024 bitars nycklar är olyckligt. Det är alltid olyckligt, oavsett ändamål, och visar på den totala oförståelsen att hantera krypton och kryptonycklar.

Vi fortsätter med att skjuta ned några ekonomiska frågeställningar. Ett återkommande argument är att DNSSEC innebär både en kostsam investering och är förenat med en kostsam implementation. Ärligt, det skulle jag kunna säga om min diskmaskin också. Inte minst vad gäller implementationer i de fall det saknas både vatten och el. Finns rätt förutsättningar, både tekniskt och organisatoriskt, då är ett införande av DNSSEC som en bal på slottet, trist och tråkig och…alldeles, alldeles underbar!

Så här långt skulle diskussionen kunnat handla om vilken implementation som helst som vilar på kryptografisk grund i syfte att bygga tillit. I alla dessa fall är nyckelhanteringen helt avgörande. Det är oerhört naivt att tro att nyckelhantering är något som inte kräver någon större uppmärksamhet. Tyvärr är naiv nyckelhantering just roten till det onda!

Finns det då ingen berättigad kritik mot DNSSEC? Jo, en mycket stark önskan är att implementationen i större utsträckning närmar sig klienten för att undvika att den illvillige kan förvanska DNS-svaren i dialogen i sista steget mellan resolver och klient, vilket är fullt möjligt idag oavsett DNSSEC eller ej. Visst, det går att köra en resolver på varje klient för att täppa till hålet, men där är vi inte idag och frågan är om det verkligen är där vi vill landa.

En annan är att DNSSEC är otydlig i användardialog när det brister av en eller annan anledning, jämfört hur det fungerar vid användning av TLS. Sedan kan det inte nog poängteras att DNS är och förblir en infrastrukturkomponent som verkar i de undre lagren. Det kan inte ersätta mekanismer i de övre lagren likt TLS för att etablera tillit.

Faktum kvarstår, vi behöver en rad mekanismer för att etablera tillräcklig tillit på internet där varje komponent har sitt ansvarsområde och de olika delarna ska komplettera varandra. De allra flesta mekanismer vilar på en kryptografisk grund. Hur de implementeras och vilka algoritmer vi nyttjar är självklart viktiga inslag. Ytterst står det och faller med var och ens förmåga att hantera nycklar. Tro inget annat!